package com.tan.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tan.common.dto.user.GroupCreateDTO;
import com.tan.common.dto.user.GroupUpdateDTO;
import com.tan.common.query.user.GroupQuery;
import com.tan.common.query.user.RoleQuery;
import com.tan.common.vo.user.GroupVO;

import java.util.List;

/**
 * @author Tan-Bowen
 * @description
 * @date 2025/2/20 14:23
 */
public interface ISysGroupService {
    /**
     * @param [query]
     * @author Tan-Bowen
     * @description
     * @date 2025/2/20 15:21
     */
    IPage<GroupVO> groupPages(GroupQuery query);

    /**
     * @param []
     * @author Tan-Bowen
     * @description 获取组列表
     * @date 2025/2/21 14:49
     */
    List<GroupVO> groupList();

    /**
     * @param [groupCreateDTO]
     * @author Tan-Bowen
     * @description
     * @date 2025/2/20 15:21
     */
    void createGroup(GroupCreateDTO groupCreateDTO);

    /**
     * @param [groupUpdateDTO]
     * @author Tan-Bowen
     * @description
     * @date 2025/2/20 15:21
     */
    void updateGroup(GroupUpdateDTO groupUpdateDTO);

    /**
     * @param [roleId]
     * @author Tan-Bowen
     * @description
     * @date 2025/2/20 15:21
     */
    void delGroup(Long groupId);
}
